/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.TipoCargaEstudioLaboratorio;
import org.hibernate.Query;

/**
 *
 * @author Gonzalo
 */
public class TipoCargaEstudioLaboratorioFisica extends CapaFisica {

    /**
     * Retorna el objeto TipoCargaEstudioLaboratorio según el id.
     *
     * @param idTipoCargaEstudioLaboratorio
     * El id del TipoCargaEstudioLaboratorio
     * @return El objeto TipoCargaEstudioLaboratorio consultado, null si no existe
     */
    public static TipoCargaEstudioLaboratorio getTipoCargaEstudioLaboratorioPorId(
            int idTipoCargaEstudioLaboratorio) {
        Query q = Sesion.sesion.createQuery(
                "from TipoCargaEstudioLaboratorio " +
                "where idTipoCargaEstudioLaboratorio = " + idTipoCargaEstudioLaboratorio
                );

        return (TipoCargaEstudioLaboratorio) getObjeto(q);
    }

    /**
     * Retorna el objeto TipoCargaEstudioLaboratorio del par
     * AnalisisCargaEstudioLaboratorio, TipoCargaEstudioLaboratorio
     * según el nombre
     * del AnalisisCargaEstudioLaboratorio y el nombre del
     * TipoCargaEstudioLaboratorio
     *
     * @param nombreTipoCargaEstudioLaboratorio El nombre de la localidad consultada
     * @param nombreAnalisisCargaEstudioLaboratorio El nombre de la provincia consultada
     * @return El objeto Localidad consultado, null si no existe
     */
    public static TipoCargaEstudioLaboratorio
            getTipoCargaEstudioLaboratorioPorNombreYNombreAnalisisCargaEstudioLaboratorio(
            String nombreTipoCargaEstudioLaboratorio,
            String nombreAnalisisCargaEstudioLaboratorio) {
        Query q = Sesion.sesion.createQuery(
                "select t from TipoCargaEstudioLaboratorio as t " +
                "where lower(sinacentos(t.nombreTipoCargaEstudioLaboratorio)) = lower(sinacentos('" +
                nombreTipoCargaEstudioLaboratorio + "')) and " +
                "lower(sinacentos(t.analisisCargaEstudioLaboratorio.nombreAnalisisCargaEstudioLaboratorio)) = " +
                "lower(sinacentos('" + nombreAnalisisCargaEstudioLaboratorio + "'))"
                );

        return (TipoCargaEstudioLaboratorio) getObjeto(q);
    }
}
